FL Studio on Wine
始めに
このページの記述は 2024年2月14日のものです
このページで前提としている環境は以下の通りです:
nyarla.icon が確認した環境
NixOS - Linux nixos 6.6.13-xanmod1 #1-NixOS SMP PREEMPT_DYNAMIC FL Studio - 21.2.3.4004
2024年2月14日時点での最新版
wine-staging - 9.1
AudioGridder を使う関係上、下記のパッチセットを無効化しています
eventfd_synchronization
ntdll-Junction_Points
server-File_Permissions
server-Stored_ACLs
インストール手順
例えば:
code:bash
$ export WINEPREFIX=$HOME/.local/share/wine/FLStudio
$ wineboot --init
# FL Studio の場合 corefonts インストールしていないと UI のフォントが表示されません
$ winetricks corefonts
2. 上記で作った wine prefix に FL Studio をインストールする
例えば:
code:bash
$ export WINEPREFIX=$HOME/.local/share/wine/FLStudio
$ wine $HOME/Downloads/flstudio_win64_21.2.3.4004.exe
3. FL Studio をインストールした wine prefix に Microsoft Edge をインストールし Windows 7 に設定する
理由:
最新の FL Studio では Microsoft Edge の WebView を利用している
また wine の Windows version が Windows 7 ではないと挙動がおかしい
具体的には何かの拍子で UI の応答が無くなる
やり方:
1. 下記のページから Windows 8.1 / 8 / 7 用の Microsoft Edge をダウンロードする
2. winecfg を起動して Windows の version を Windows 7 にする
例えば:
code:bash
$ WINEPREFIX=$HOME/.local/share/wine/FLStudio
$ winetricks win7
2. FL Studio をインストールした wine prefix に Microsoft Edge をインストール
例えば:
code:bash
$ WINEPREFIX=$HOME/.local/share/wine/FLStudio
$ wine $HOME/Downloads/MicrosoftEdgeSetup.exe
nyarla.icon インストールの完了に若干時間が掛かるので気長に待ちましょう
4. FL Studio の動作確認が取れ次第、アクティベーションを行う
FL Studio を直接起動する場合は下記のようなコマンドが使える:
code:bash
$ WINEPREFIX=$HOME/.local/share/wine/FLStudio
$ wine 'C:\Program Files\Image-Line\FL Studio 21\FL64.exe'
トラブルと対処
現在分かっているもの
32bit 版の wineasio が有効になっていると FL Studio が応答しなくなる 状態:
表題の通り 32bit 版の wineasio が有効だと FL Studio が応答しなくなる
対処法:
32 bit 版の WineASIO を利用しない
もし仮に 32bit 版の WineASIO を利用していた場合、下記のコマンドで無効化できる
$ wine regsvr32 /u wineasio.dll
過去のトラブル
FL Studio 20.9.x で起動するごとにライセンス認証が要求される
状態:
wine prefix の wineserver が再起動されるたびに FL Studio のライセンス認証が要求される
ライセンス認証そのものは通るものの、これが維持されない
回避策:
FL Studio 20.9.x 以外の version を使う
FL Studio の過去のバージョンは次の URL から入手できる:
Carla 等でJackAss を経由して MIDI 接続を行うと音源のパラメーターが初期化される 状態:
JackAss を経由して FL Studio 上の VST プラグインと接続すると、パラメーターが初期値になる
恐らく MIDI Control 仕様の初期値になっていると思われる
回避策:
Carla の場合 Send Contrl Changes のチェックを外す
ただし当然 Control Chage が使えなくなるので、その点に注意
Linux 上の仮想 MIDI デバイスを経由して接続する
linux kernel module の snd_virmidi を利用することで実現できる